def next_value(value):
if (value < 9):
return value
base = 1
while (base * 10 + 1 <= value):
base = base * 10 + 1
cur = 1
while (base * (cur + 1) <= value and cur < 9):
cur += 1
return base * cur
def list_del(value):
mp = {}
while (value > 0):
n_value = next_value(value)
value -= n_value
curval = mp.get(n_value) is None and 1 or mp.get(n_value) + 1
mp[n_value] = curval
return mp
x = input().split()
p = int(x[0])
q = int(x[1])
revAfter = p < q
beginStr = ''
if (abs(p - q) & 1):
beginStr = '5000000000000000002'
else:
beginStr = '6000000000000000002'
revStr = beginStr[::-1]
begin = int(beginStr)
rev = int(revStr)
razn = (abs(begin - rev) - abs(p - q)) >> 1
ans = str(begin)
for k, v in list_del(razn).items():
ans += '+0-' + str(k) + '*' + str(v) + '+0'
for k, v in list_del(abs(begin - razn - max(p, q))).items():
ans += '+0-' + str(k) + '*' + str(v) + '-0'
if (revAfter):
ans = ans[::-1]
print(ans)
1517D - Explorer Space | 1230B - Ania and Minimizing |
1201A - Important Exam | 676A - Nicholas and Permutation |
431A - Black Square | 474B - Worms |
987B - High School Become Human | 1223A - CME |
1658B - Marin and Anti-coprime Permutation | 14B - Young Photographer |
143A - Help Vasilisa the Wise 2 | 320A - Magic Numbers |
1658A - Marin and Photoshoot | 514A - Chewbaсca and Number |
382A - Ksenia and Pan Scales | 734B - Anton and Digits |
1080A - Petya and Origami | 1642D - Repetitions Decoding |
1440A - Buy the String | 1658F - Juju and Binary String |
478A - Initial Bet | 981A - Antipalindrome |
365A - Good Number | 1204B - Mislove Has Lost an Array |
1409D - Decrease the Sum of Digits | 1476E - Pattern Matching |
1107A - Digits Sequence Dividing | 1348A - Phoenix and Balance |
1343B - Balanced Array | 1186A - Vus the Cossack and a Contest |